package com.lianniu.web.product.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.lianniu.web.product.model.SkuProductVo;

public interface ISkuProductDao {
	
	public List<SkuProductVo> selectBySkuProducts(Map<String, Object> map);
	
	public int insertSkuProduct(SkuProductVo skuProduct);
	
	public int deleteById(String id);
	
	public int deleteSkuProductBatch(String...id);
	
	public int updateById(SkuProductVo skuProduct);
	
	public SkuProductVo selectById(String id);
	
	public SkuProductVo getSkuProductById(String id);
	
	public int update(SkuProductVo skuProduct);
	
	public int updateSkuProductStatus(String id);
    
    public int updateSkuProduct(String id);
    
    int selectMyProductCount(Map<String, Object> map);
    /**
     * @Title: getOverPlusNumBySkuId 
     * @Description: 根据发布商品ID查库存
     * @author: Administrator
     * @param skuId
     * @return
     * @date: 2016年9月12日 上午9:39:05 
     * @return: double
     */
    double getOverPlusNumBySkuId(String skuId);
    /**
     * @Title: updateOverPlusNumBySkuId 
     * @Description: 根据发布ID减库存
     * @author: Administrator
     * @param overPlusNum
     * @param skuId
     * @return
     * @date: 2016年9月12日 上午9:42:23 
     * @return: int
     */
    int reduceOverPlusNum(@Param("overPlusNum")double overPlusNum,@Param("id")String id);
    /**
     * @Title: updateOverPlusNumBySkuId 
     * @Description: 批量减库存
     * @author: Administrator
     * @param overPlusNum
     * @param skuId
     * @return
     * @date: 2016年9月12日 上午9:42:23 
     * @return: int
     */
    int reduceOverPlusNum(List<SkuProductVo> list);
    /**
     * @Title: updateOverPlusNumBySkuId 
     * @Description: 根据发布ID加库存
     * @author: Administrator
     * @param overPlusNum
     * @param skuId
     * @return
     * @date: 2016年9月12日 上午9:42:23 
     * @return: int
     */
    int addOverPlusNum(@Param("overPlusNum")double overPlusNum,@Param("id")String id);
    /**
     * @Title: updateOverPlusNumBySkuId 
     * @Description: 批量加库存
     * @author: Administrator
     * @param overPlusNum
     * @param skuId
     * @return
     * @date: 2016年9月12日 上午9:42:23 
     * @return: int
     */
    int addOverPlusNum(List<SkuProductVo> list);
    /**
     * 
     * @Title: addOverPlusNumBySkuId 
     * @Description: 取消订单恢复库存
     * @author: guoconglin
     * @param overPlusNum
     * @param id
     * @return
     * @date: 2016年11月10日 上午9:59:39 
     * @return: int
     */
    int addOverPlusNumBySkuId(@Param("overPlusNum")double overPlusNum,@Param("id")String id);
}
